<?php
class form_ml_guia_detalle extends toba_ei_formulario_ml
{
	//-----------------------------------------------------------------------------------
	//---- JAVASCRIPT -------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function extender_objeto_js()
	{
	
		//$limite_filas = $this->controlador()->get_cantidad_de_evaluadores_por_proyecto_externos();
		//ei_arbol($limite_filas);
		$limite_filas = 2;
		if($limite_filas == 0){
			$limite_filas=2;
		}
		
		echo "
		//---- Procesamiento de EFs --------------------------------
		
		cantidad_filas = {$this->objeto_js}.filas().length;
		limite_filas   = $limite_filas;
				
		{$this->objeto_js}.crear_fila_orig = {$this->objeto_js}.crear_fila; 
		{$this->objeto_js}.crear_fila       = function() {
				cantidad_filas++;
				if (cantidad_filas > limite_filas) {
					notificacion.agregar('No pueden ingresarse mas de $limite_filas lineas en el detalle', 'error');
					notificacion.ventana_modal();
					notificacion.limpiar();
					cantidad_filas--;
					return false;
				}
				id_fila = this.crear_fila_orig();
				return id_fila;
		}
			
		{$this->objeto_js}.eliminar_fila_orig = {$this->objeto_js}.eliminar_fila; 
		{$this->objeto_js}.eliminar_fila      = function(fila) {
				
				cantidad_filas--;
				return this.eliminar_fila_orig(fila);
					
		}
			
		{$this->objeto_js}.deshacer_orig = {$this->objeto_js}.deshacer; 
		{$this->objeto_js}.deshacer         = function() {
				cantidad_filas++;
				if (cantidad_filas > limite_filas) {
					notificacion.agregar('No pueden ingresarse mas de $limite_filas lineas en el detalle', 'error');
					notificacion.ventana_modal();
					notificacion.limpiar();
					cantidad_filas--;
					return false;
				}
				this.deshacer_orig();
		}
		
		
		{$this->objeto_js}.ini = function(es_inicial)
		{
		this.colapsar();
		}
		
		/*{$this->objeto_js}.evt__cod_producto__procesar = function(es_inicial,fila)
		{
			if (this.ef('cod_producto').ir_a_fila(fila).get_estado() !='') {
				
				producto = this.ef('cod_producto').ir_a_fila(fila).get_estado();
			
				this.controlador.ajax('get_datos_producto',producto,this,this.cargar_datos_producto);
				
			}
		}*/
		
		/*{$this->objeto_js}.cargar_datos_producto = function(datos)
		{
		
			if (datos != null)
			{
			this.ef('descripcion').set_estado(datos);
			
			}
		}*/
		
		
		{$this->objeto_js}.evt__cod_medida__procesar = function(es_inicial, fila)
		{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				if (medida == 'nopar')
				{
					this.ef('peso').ir_a_fila(fila).mostrar();
					this.ef('alto').ir_a_fila(fila).ocultar();
					this.ef('ancho').ir_a_fila(fila).ocultar();
					this.ef('largo').ir_a_fila(fila).ocultar();
					this.ef('aforado').ir_a_fila(fila).ocultar();
				}
				
				if (medida == 1)
				{
					this.ef('peso').ir_a_fila(fila).mostrar();
					this.ef('alto').ir_a_fila(fila).ocultar();
					this.ef('ancho').ir_a_fila(fila).ocultar();
					this.ef('largo').ir_a_fila(fila).ocultar();
					this.ef('aforado').ir_a_fila(fila).ocultar();

				}
				if (medida == 2)
				{
					this.ef('peso').ir_a_fila(fila).mostrar();
					this.ef('alto').ir_a_fila(fila).mostrar();
					this.ef('ancho').ir_a_fila(fila).mostrar();
					this.ef('largo').ir_a_fila(fila).mostrar();
					this.ef('aforado').ir_a_fila(fila).mostrar();

				}
		 }
		 
		
		/*{$this->objeto_js}.evt__cantidad__procesar = function(es_inicial, fila)
		{
			
			cantidad = this.ef('cantidad').ir_a_fila(fila).get_estado();
			alert(cantidad);
			if (cantidad != null)
			{
				
			 var agencia = this.controlador.dep('form_guia').ef('agencia_origen').get_estado();				
			 var tipo_comprobante = this.controlador.dep('form_guia').ef('cod_tipo_comprobante').get_estado();
			 alert(tipo_comprobante);	
			 var valor = [agencia,tipo_comprobante];
		 	
			 //alert(valor);
				
			 this.controlador.ajax('get_nro_comprobante_ide',valor,this,this.cargar_nro_comprobante_ide);
				
			 this.s.controlador.ajax('get_tarifa_peso',valor,this,this.cargar_importe);
			}
			
		}*/
			
			
		/*{$this->objeto_js}.cargar_nro_comprobante_ide = function(datos)
		{
			if (datos != null)
			{
			
			//alert(datos['actual']);
			
			var filas = this.filas();
			//alert(filas);
			for (id_fila in filas) {
			this.controlador.dep('form_ml_guia_ide').ef('nro_ide').ir_a_fila(filas[id_fila]).set_estado(datos['actual']);
			this.seleccionar(filas[id_fila]);
			}
			
			this.controlador.dep('form_ml_guia_ide').ef('nro_ide').ir_a_fila(filas).set_estado(datos['actual']);
		
			}
		}*/
		
		{$this->objeto_js}.evt__peso__procesar = function(es_inicial, fila)
		{
			medida = this.controlador.dep('form_ml_guia_detalle').ef('medida').get_estado();
			agencia_origen = this.controlador.dep('form_guia').ef('agencia_origen').get_estado();
			agencia_destino = this.controlador.dep('form_guia').ef('agencia_destino').get_estado();
			peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
			if(!es_inicial){
				
				if (medida != 'nopar' && peso != null){
					
					if (medida == 1) {
					
					   var valor = [medida,agencia_origen,agencia_destino,peso];
					   //alert(valor);
					   this.controlador.ajax('get_tarifa_peso',valor,this,this.cargar_peso_importe);	
					}
				}
				
			}
		}
		
		/*{$this->objeto_js}.cargar_peso_importe= function(datos)
		{
		
			if (datos != null){
				
				this.ef('importe').set_estado(datos['total']);
			}
		}*/
			
		{$this->objeto_js}.evt__alto__procesar = function(es_inicial, fila)
		
		{
			medida = this.ef('medida').ir_a_fila(fila).get_estado();
			agencia_origen = this.controlador.dep('form_guia').ef('agencia_origen').get_estado();
			agencia_destino = this.controlador.dep('form_guia').ef('agencia_destino').get_estado();
			peso = this.ef('peso').ir_a_fila(fila).get_estado();
			largo = this.ef('largo').ir_a_fila(fila).get_estado();
			ancho= this.ef('ancho').ir_a_fila(fila).get_estado();
			alto = this.ef('alto').ir_a_fila(fila).get_estado();
			
			if(!es_inicial){
				
				if (medida != 'nopar' && peso != null){
					
					if (medida == 2) {
						
						volumen_aforado = ((largo * ancho * alto) / 6000);
		
						if (volumen_aforado > peso) {
			
							this.ef('aforado').set_estado(volumen_aforado);
						}
		
						if (volumen_aforado < peso) {
			
							this.ef('aforado').set_estado(peso);
						}
						
					var valor = [medida,agencia_origen,agencia_destino,peso,largo,ancho,alto];
					//alert(valor);
					this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);			
					}
				}
			}
		}
		
		{$this->objeto_js}.cargar_aforado_importe= function(datos)
		{
		
			if (datos != null)
			{
			this.ef('importe').set_estado(datos['total']);
			}
		}
		
		{$this->objeto_js}.evt__importe__procesar = function(es_inicial, fila)
		
		{
			
			var total_detalle = this.controlador.dep('form_ml_guia_detalle').total('importe');
			var total = 0;
						
			if (total_detalle != '' && total_detalle != null ){
					
			var total_concepto = this.controlador.dep('form_ml_guia_concepto_envio').total('importe');
			
				if (total_concepto != '' && total_concepto!= null ) {
					
					var total_descuento = this.controlador.dep('form_ml_guia_descuento').total('monto');
						
					if (total_descuento != '' && total_descuento!= null ) {
							
						total = ((total_detalle + total_concepto) - total_descuento);
						
					}else{
						
					total = total_detalle + total_concepto;

					}
						
					}else{
						
					
					var total_descuento = this.controlador.dep('form_ml_guia_descuento').total('monto');
						
					if (total_descuento != '' && total_descuento!= null ) {
							
						total = (total_detalle - total_descuento);
						
					}else{
						
					total = total_detalle;

					}
					
				}
				
				this.controlador.dep('form_guia_total').ef('subtotal').set_estado(total);	
				//alert (total);
								
			 }	
			
		}
		
		";
	}

}
?>
